﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.WindowsAzure.StorageClient;

namespace AzureGames.Repository.Interfaces
{
    /// <summary>
    /// Interface for putting entities into table storage in azure
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IAzureTableRepository <T> where T: TableServiceEntity
    {
        void Add(T item);
        void Update(T item);
        void Delete(T item);
        T Get(string partitionKey, string rowKey);
        T Get(string partitionKey, string propertyName, object value);
        List<T> Get(string partitionKey);
        List<T> GetListByNamedProperty(string partitionKey, string propertyName, object value);
    }
}
